#!/bin/bash

# 配置参数
TARGET_DIR="/home/cys/www/data_vector_monitor/"
HOURS_BACK=8

echo ************************begin delete************************************
echo $(date '+%F %T')

# 检查目录是否存在
if [ ! -d "$TARGET_DIR" ]; then
    echo "错误：目录 '$TARGET_DIR' 不存在！"
    exit 1
fi

# 生成要删除的时间模式正则表达式
delete_regex=""
for ((i=HOURS_BACK; i<=HOURS_BACK+12; i++)); do
    pattern=$(date -d "$i hours ago" +%Y-%m-%d_%H)
    if [[ -z "$delete_regex" ]]; then
        delete_regex="$pattern"
    else
        delete_regex="$delete_regex|$pattern"
    fi
done

echo "正在清理目录: $TARGET_DIR"
echo "删除时间模式: $delete_regex"
echo "========================================"

# 使用find命令直接查找并删除
deleted_count=0

while IFS= read -r -d '' file; do
    if rm -v "$file"; then
        ((deleted_count++))
        echo "✓ 已删除: ${file#$TARGET_DIR/}"
    else
        echo "✗ 删除失败: ${file#$TARGET_DIR/}"
    fi
done < <(find "$TARGET_DIR" -type f -regextype posix-extended -regex ".*($delete_regex).*" -print0)

echo ""
echo "删除完成！共删除 $deleted_count 个文件"
echo ************************finish delete************************************
echo $(date '+%F %T')

